package com.taijihuabao.modules.service;

import com.github.pagehelper.PageInfo;
import com.taijihuabao.modules.entity.MenuEntity;
import com.taijihuabao.modules.model.menu.dto.MenuCrFromDTO;
import com.taijihuabao.modules.model.menu.dto.MenuListFromDTO;
import com.taijihuabao.modules.model.menu.dto.MenuUpFromDTO;
import com.taijihuabao.modules.model.menu.vo.MenuInfoVO;

import java.util.List;

/**
 * 菜单管理
 *
 * @author Wang
 */
public interface MenuService {

    /**
     * 菜单列表
     *
     * @param listFromDTO
     * @return
     */
    PageInfo selectMenus(MenuListFromDTO listFromDTO);

    /**
     * 获取所有菜单
     *
     * @return
     */
    List<MenuEntity> selectAllMenus();

    /**
     * 信息
     *
     * @param id
     * @return
     */
    MenuInfoVO selectById(Long id);

    /**
     * 查询父级菜单
     *
     * @param id
     * @return
     */
    List<MenuEntity> selectParent(Long id);

    /**
     * 新增菜单
     *
     * @param crFromDTO
     */
    void insertMenu(MenuCrFromDTO crFromDTO);

    /**
     * 修改菜单
     *
     * @param upFromDTO
     */
    void updateMenu(MenuUpFromDTO upFromDTO);

    /**
     * 逻辑删除菜单
     *
     * @param id
     */
    void deleteMenu(Long id);
}
